/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */

package Toepen.LoungeFacade;

/**
 * Factory die zowel een LoungeFacade kan creeren als een server kan registreren
 * @author Bart Piggen
 */
public class LoungeFacadeFactory {

    /**
     * @return Haalt een LoungeFacade interface op voor de GUI
     */
    public static ILoungeFacade Create()
    {
        ILoungeFacade retVal=null;
        try
        {
            retVal = (ILoungeFacade) java.rmi.Naming.lookup(Configuration.getClientInstance().getLoungeLocation());
        }
        catch (Exception e)
        {
	        e.printStackTrace();
        }
        return(retVal);
    }

    /**
     * Creert een server waarop de LoungeFacades kunnen connecten
     */
    public static void CreateServer()
    {
        try
        {
            java.rmi.registry.LocateRegistry.createRegistry(Integer.parseInt(Configuration.getServerInstance().getLoungePort()));
            ILoungeFacade lounge=new LoungeFacade(MySQLDriver.GetInstance());
            java.rmi.Naming.rebind(Configuration.getServerInstance().getLoungeLocation(), lounge);
        }
	    catch (Exception e)
        {
	        e.printStackTrace();
        }
    }
}
